home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / kabc / timezone.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-10  |  2.1 KB  |  90 lines

  1. /*
  2.     This file is part of libkabc.
  3.     Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
  4.  
  5.     This library is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU Library General Public
  7.     License as published by the Free Software Foundation; either
  8.     version 2 of the License, or (at your option) any later version.
  9.  
  10.     This library is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.     Library General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU Library General Public License
  16.     along with this library; see the file COPYING.LIB.  If not, write to
  17.     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  18.     Boston, MA 02110-1301, USA.
  19. */
  20.  
  21. #ifndef KABC_TIMEZONE_H
  22. #define KABC_TIMEZONE_H
  23.  
  24. #include <qstring.h>
  25.  
  26. #include <kdelibs_export.h>
  27.  
  28. namespace KABC {
  29.  
  30. /**
  31.  * @short Time zone information.
  32.  * 
  33.  * This class stores information about a time zone.
  34.  */
  35. class KABC_EXPORT TimeZone
  36. {
  37.   friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const TimeZone & );
  38.   friend KABC_EXPORT QDataStream &operator>>( QDataStream &, TimeZone & );
  39.  
  40. public:
  41.  
  42.   /**
  43.    * Construct invalid time zone.
  44.    */
  45.   TimeZone();
  46.  
  47.   /**
  48.    * Construct time zone.
  49.    * 
  50.    * @param offset Offset in minutes relative to UTC.
  51.    */
  52.   TimeZone( int offset );
  53.     
  54.   /**
  55.    * Set time zone offset relative to UTC.
  56.    *   
  57.    * @param offset Offset in minutes.
  58.    */
  59.   void setOffset( int offset );
  60.  
  61.   /**
  62.    * Return offset in minutes relative to UTC.
  63.    */
  64.   int offset() const;
  65.  
  66.   /**
  67.    * Return, if this time zone object is valid.
  68.    */
  69.   bool isValid() const;
  70.     
  71.   bool operator==( const TimeZone & ) const;
  72.   bool operator!=( const TimeZone & ) const;
  73.     
  74.   /**
  75.    * Return string representation of time zone offset.
  76.    */
  77.   QString asString() const;
  78.     
  79. private:
  80.   int mOffset;  // Offset in minutes
  81.  
  82.   bool mValid;
  83. };
  84.  
  85. KABC_EXPORT QDataStream &operator<<( QDataStream &, const TimeZone & );
  86. KABC_EXPORT QDataStream &operator>>( QDataStream &, TimeZone & );
  87.  
  88. }
  89. #endif
  90.